//import java.util.Stack;
//
//public class SingleNumbers {
//    /**
//     * 一个整型数组 nums 里除两个数字之外，其他数字都出现了两次。请写程序找出这两个只出现一次的数字。
//     * 要求时间复杂度是O(n)，空间复杂度是O(1)。
//     * 时间复杂度要求O(n),空间复杂度0(1),使用堆排
//     * @param nums
//     * @return
//     */
//    public static int[] singleNumbers(int[] nums) {
//
//        heapSort(nums);
//        int len = nums.length;
//        int[] ans = new int[2];
//        int j=0;
//        if (nums[0]!=nums[1]){
//            ans[j] = nums[0];
//            j++;
//        }
//        if (nums[len-1]!=nums[len-2]){
//            ans[j] = nums[len-1];
//            j++;
//        }
//        for (int i=1;i<nums.length-1;i++){
//
//
//     */
//    public static void adjustHeap(int[] arr,int parent,int length){
//        int temp = arr[parent];
//        int lChild = 2*parent+1;
//        while (lChild<length){
//            int rChild = lChild+1;
//            if (rChild<length&&arr[lChild]<arr[rChild]){
//                lChild++;
//            }
//            if (temp>=arr[lChild]){
//                break;
//            }
//            arr[parent] = arr[lChild];
//            parent = lChild;
//            lChild = 2*lChild+1;
//        }
//        arr[parent] = temp;
//    }
//
//    public static void main(String[] args) {
//        int[] nums = {4,1,4,6};
//        singleNumbers(nums);
//    }
//}
